package com.unhz.taigu.service;

import com.unhz.generator.pojo.ProductionOrder;
import com.unhz.generator.utils.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author: 曹显贵
 * @Description: 排产订单服务层
 * @Date: Created in 10:18 2018/1/30 0030
 * @Modified By:
 */
public interface ProductionOrderService {

    /**
     * 分页查询
     * @param pageNo
     * @param pageSize
     * @param keywords
     * @param adminId
     * @param roleId
     * @return
     */
    Page<ProductionOrder> findPageAllProductionOrder(String pageNo, Integer pageSize, String keywords,Integer adminId,Integer roleId);

    ProductionOrder selectByProductOrderId(Integer productOrderId);

    int deleteByProducOrderId(Integer productOrderId);

    String confirmProductOrder(Integer productOrderId);

    String carryOutProduct(Integer productOrderId);

    /**
     * 根据id查询排产订单
     * @param productOrderId
     * @return
     */
    ProductionOrder selectById(Integer productOrderId);

    /**
     * 根据Order订单id查询
     * @param orderId 订单id
     * @return
     */
    List<ProductionOrder> selectByOrderId(Long orderId);

    /**
     * 根据订单id查询最新的排产订单
     * @param orderId
     * @return
     */
    ProductionOrder selectNewProductionOrder(Long orderId);

    /**
     * 新增排产订单
     * @param productionOrder
     * @return
     */
    int insertProductionOrder(ProductionOrder productionOrder);


    /**
     * 新增订单
     * insertSelective
     */

    int insertSelective(ProductionOrder productionOrder);


    /**
     * 修改排产订单
     * @param productionOrder
     * @return
     */
    int updateProductionOrder(ProductionOrder productionOrder);

    /**
     * 逻辑删除排产订单
     * @param productionId
     * @return
     */
    int deleteProductionOrder(Long productionId);
}
